from __clrclasses__.System import MulticastDelegate as _n_0_t_0
from __clrclasses__.System import ICloneable as _n_0_t_1
from __clrclasses__.System import IntPtr as _n_0_t_2
from __clrclasses__.System import IAsyncResult as _n_0_t_3
from __clrclasses__.System import AsyncCallback as _n_0_t_4
from __clrclasses__.System import TimeSpan as _n_0_t_5
from __clrclasses__.System import Array as _n_0_t_6
from __clrclasses__.System import TimeoutException as _n_0_t_7
from __clrclasses__.System import Exception as _n_0_t_8
from __clrclasses__.System import Enum as _n_0_t_9
from __clrclasses__.System import IComparable as _n_0_t_10
from __clrclasses__.System import IFormattable as _n_0_t_11
from __clrclasses__.System import IConvertible as _n_0_t_12
from __clrclasses__.System.Collections import ICollection as _n_1_t_0
from __clrclasses__.System.Reflection import AssemblyName as _n_2_t_0
from __clrclasses__.System.Reflection.Emit import CustomAttributeBuilder as _n_3_t_0
from __clrclasses__.System.Runtime.InteropServices import _Exception as _n_4_t_0
from __clrclasses__.System.Runtime.Serialization import ISerializable as _n_5_t_0
import typing
class Capture(object):
    @property
    def Index(self) -> int:"""Index { get; } -> int"""
    @property
    def Length(self) -> int:"""Length { get; } -> int"""
    @property
    def Value(self) -> str:"""Value { get; } -> str"""
class CaptureCollection(_n_1_t_0, typing.Iterable[Capture]):
    @property
    def IsReadOnly(self) -> bool:"""IsReadOnly { get; } -> bool"""
    @property
    def Item(self) -> Capture:"""Item { get; } -> Capture"""
class Group(Capture):
    @property
    def Captures(self) -> CaptureCollection:"""Captures { get; } -> CaptureCollection"""
    @property
    def Name(self) -> str:"""Name { get; } -> str"""
    @property
    def Success(self) -> bool:"""Success { get; } -> bool"""
    @staticmethod
    def Synchronized(inner: Group) -> Group:...
class GroupCollection(_n_1_t_0, typing.Iterable[Group]):
    @property
    def IsReadOnly(self) -> bool:"""IsReadOnly { get; } -> bool"""
    @property
    def Item(self) -> Group:"""Item { get; } -> Group"""
class Match(Group):
    @property
    def Empty(self) -> Match:"""Empty { get; } -> Match"""
    @property
    def Groups(self) -> GroupCollection:"""Groups { get; } -> GroupCollection"""
    def NextMatch(self) -> Match:...
    def Result(self, replacement: str) -> str:...
class MatchCollection(_n_1_t_0, typing.Iterable[Match]):
    @property
    def IsReadOnly(self) -> bool:"""IsReadOnly { get; } -> bool"""
    @property
    def Item(self) -> Match:"""Item { get; } -> Match"""
class MatchEvaluator(_n_0_t_0, _n_0_t_1, _n_5_t_0):
    def __init__(self, object: object, method: _n_0_t_2) -> MatchEvaluator:...
    def BeginInvoke(self, match: Match, callback: _n_0_t_4, object: object) -> _n_0_t_3:...
    def EndInvoke(self, result: _n_0_t_3) -> str:...
    def Invoke(self, match: Match) -> str:...
class Regex(_n_5_t_0):
    InfiniteMatchTimeout: int
    @property
    def CacheSize(self) -> int:"""CacheSize { get; set; } -> int"""
    @property
    def MatchTimeout(self) -> _n_0_t_5:"""MatchTimeout { get; } -> TimeSpan"""
    @property
    def Options(self) -> RegexOptions:"""Options { get; } -> RegexOptions"""
    @property
    def RightToLeft(self) -> bool:"""RightToLeft { get; } -> bool"""
    def __init__(self, pattern: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> Regex:...
    def __init__(self, pattern: str, options: RegexOptions) -> Regex:...
    def __init__(self, pattern: str) -> Regex:...
    @staticmethod
    def CompileToAssembly(regexinfos: _n_0_t_6[RegexCompilationInfo], assemblyname: _n_2_t_0, attributes: _n_0_t_6[_n_3_t_0], resourceFile: str):...
    @staticmethod
    def CompileToAssembly(regexinfos: _n_0_t_6[RegexCompilationInfo], assemblyname: _n_2_t_0, attributes: _n_0_t_6[_n_3_t_0]):...
    @staticmethod
    def CompileToAssembly(regexinfos: _n_0_t_6[RegexCompilationInfo], assemblyname: _n_2_t_0):...
    @staticmethod
    def Escape(str: str) -> str:...
    def GetGroupNames(self) -> _n_0_t_6[str]:...
    def GetGroupNumbers(self) -> _n_0_t_6[int]:...
    def GroupNameFromNumber(self, i: int) -> str:...
    def GroupNumberFromName(self, name: str) -> int:...
    def IsMatch(self, input: str, startat: int) -> bool:...
    def IsMatch(self, input: str) -> bool:...
    @staticmethod
    def IsMatch(input: str, pattern: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> bool:...
    @staticmethod
    def IsMatch(input: str, pattern: str, options: RegexOptions) -> bool:...
    @staticmethod
    def IsMatch(input: str, pattern: str) -> bool:...
    def Match(self, input: str, beginning: int, length: int) -> Match:...
    def Match(self, input: str, startat: int) -> Match:...
    def Match(self, input: str) -> Match:...
    @staticmethod
    def Match(input: str, pattern: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> Match:...
    @staticmethod
    def Match(input: str, pattern: str, options: RegexOptions) -> Match:...
    @staticmethod
    def Match(input: str, pattern: str) -> Match:...
    def Matches(self, input: str, startat: int) -> MatchCollection:...
    def Matches(self, input: str) -> MatchCollection:...
    @staticmethod
    def Matches(input: str, pattern: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> MatchCollection:...
    @staticmethod
    def Matches(input: str, pattern: str, options: RegexOptions) -> MatchCollection:...
    @staticmethod
    def Matches(input: str, pattern: str) -> MatchCollection:...
    def Replace(self, input: str, evaluator: MatchEvaluator, count: int, startat: int) -> str:...
    def Replace(self, input: str, evaluator: MatchEvaluator, count: int) -> str:...
    def Replace(self, input: str, evaluator: MatchEvaluator) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, evaluator: MatchEvaluator, options: RegexOptions, matchTimeout: _n_0_t_5) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, evaluator: MatchEvaluator, options: RegexOptions) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, evaluator: MatchEvaluator) -> str:...
    def Replace(self, input: str, replacement: str, count: int, startat: int) -> str:...
    def Replace(self, input: str, replacement: str, count: int) -> str:...
    def Replace(self, input: str, replacement: str) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, replacement: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, replacement: str, options: RegexOptions) -> str:...
    @staticmethod
    def Replace(input: str, pattern: str, replacement: str) -> str:...
    def Split(self, input: str, count: int, startat: int) -> _n_0_t_6[str]:...
    def Split(self, input: str, count: int) -> _n_0_t_6[str]:...
    def Split(self, input: str) -> _n_0_t_6[str]:...
    @staticmethod
    def Split(input: str, pattern: str, options: RegexOptions, matchTimeout: _n_0_t_5) -> _n_0_t_6[str]:...
    @staticmethod
    def Split(input: str, pattern: str, options: RegexOptions) -> _n_0_t_6[str]:...
    @staticmethod
    def Split(input: str, pattern: str) -> _n_0_t_6[str]:...
    @staticmethod
    def Unescape(str: str) -> str:...
class RegexCompilationInfo(object):
    @property
    def IsPublic(self) -> bool:"""IsPublic { get; set; } -> bool"""
    @property
    def MatchTimeout(self) -> _n_0_t_5:"""MatchTimeout { get; set; } -> TimeSpan"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def Namespace(self) -> str:"""Namespace { get; set; } -> str"""
    @property
    def Options(self) -> RegexOptions:"""Options { get; set; } -> RegexOptions"""
    @property
    def Pattern(self) -> str:"""Pattern { get; set; } -> str"""
    def __init__(self, pattern: str, options: RegexOptions, name: str, fullnamespace: str, ispublic: bool, matchTimeout: _n_0_t_5) -> RegexCompilationInfo:...
    def __init__(self, pattern: str, options: RegexOptions, name: str, fullnamespace: str, ispublic: bool) -> RegexCompilationInfo:...
class RegexMatchTimeoutException(_n_0_t_7, _n_5_t_0, _n_4_t_0):
    @property
    def Input(self) -> str:"""Input { get; } -> str"""
    @property
    def MatchTimeout(self) -> _n_0_t_5:"""MatchTimeout { get; } -> TimeSpan"""
    @property
    def Pattern(self) -> str:"""Pattern { get; } -> str"""
    def __init__(self, message: str, inner: _n_0_t_8) -> RegexMatchTimeoutException:...
    def __init__(self, message: str) -> RegexMatchTimeoutException:...
    def __init__(self) -> RegexMatchTimeoutException:...
    def __init__(self, regexInput: str, regexPattern: str, matchTimeout: _n_0_t_5) -> RegexMatchTimeoutException:...
class RegexOptions(_n_0_t_9, _n_0_t_10, _n_0_t_11, _n_0_t_12):
    Compiled: int
    CultureInvariant: int
    ECMAScript: int
    ExplicitCapture: int
    IgnoreCase: int
    IgnorePatternWhitespace: int
    Multiline: int
    _None: int
    RightToLeft: int
    Singleline: int
    value__: int
class RegexRunner(object):
    pass
class RegexRunnerFactory(object):
    pass
